←Select platform

RecognizeForm(LEADDocument,List<IMasterFormsCategory>) Method

Summary

Recognizes the given LEADDocument.

Syntax

C#
C++/CLI
Java
Python
def RecognizeForm(self,leadDoc,categories): 

Parameters

leadDoc

The LEADDocument object to recognize.

categories

List of Master Forms categories to use in comparison, pass null or empty to use all Master Forms in the repository.

Return Value

The result of the recognition will be the Master Form with the maximum confidence value. If the confidence value is less than MinimumConfidenceKnownForm it returns null to indicate that the form type is unknown and cannot be recognized.

Remarks

RecognizeForm(LEADDocument,List<IMasterFormsCategory>) is useful when you have unknown forms and need to recognize their types to archive, classify, and process.

Set RecognizeFirstPageOnly to true to indicate that only the first page of the Master Form is to be used for recognition. Otherwise, false to recognize using all pages of the Master Form.

The leadDoc parameter should have all document pages when RecognizeFirstPageOnly is set to false.

If all Master Forms have a different first page, then recognizing the form according to its first page produces faster results. The recognition of the form will stop comparing the form with other Master Forms either when the confidence value of the recognition result is greater or equal to MinimumConfidenceRecognized or when the Master Forms have all been compared.

Example

C#
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.Forms.Common; 
using Leadtools.Forms.Auto; 
using Leadtools.Document; 
using Leadtools.Ocr; 
using Leadtools.Forms.Recognition; 
using Leadtools.Forms.Processing; 
using Leadtools.Barcode; 
 
using Leadtools.Forms; 
 
public void AutoFormRecognitionAndProcessingLEADDocWithAttributes() 
{ 
   string root = Path.Combine(LEAD_VARS.ImagesDir, @"Forms\FormsDemo\OCR_Test"); 
   RasterCodecs codecs = new RasterCodecs(); 
 
   // Create repository 
   DiskMasterFormsRepository repository = new DiskMasterFormsRepository(codecs, root); 
 
   using (IOcrEngine ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.LEAD)) 
   { 
      ocrEngine.Startup(null, null, null, LEAD_VARS.OcrLEADRuntimeDir); 
 
      BarcodeEngine barcodeEngine = new BarcodeEngine(); 
 
      AutoFormsEngine autoEngine = new AutoFormsEngine(repository, ocrEngine, barcodeEngine); 
      autoEngine.MinimumConfidenceKnownForm = 80; 
 
      // Load the LEADDocument from file with default options 
      LoadDocumentOptions loadOptions = new LoadDocumentOptions(); 
      LEADDocument leadDoc = DocumentFactory.LoadFromFile(Path.Combine(LEAD_VARS.ImagesDir, @"Forms\Filled Forms\FCC-107_OCR_Filled.tif"), loadOptions); 
 
      // Recognize the LEADDocument 
      AutoFormsRecognizeFormResult result = autoEngine.RecognizeForm(leadDoc, null); 
      if (result == null) 
         return; 
 
      // Get form fields 
      FormPages formFields = result.MasterForm.ReadFields(); 
      FormRecognitionAttributes attributes = result.MasterForm.ReadAttributes(); 
 
      // Process Form 
      autoEngine.ProcessForm(leadDoc, attributes, formFields); 
   } 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images"; 
   public const string OcrLEADRuntimeDir = @"C:\LEADTOOLS23\Bin\Common\OcrLEADRuntime"; 
} 

Requirements

Target Platforms

See Also

AutoFormsEngine Class

AutoFormsEngine Members

Leadtools.Forms.Auto Namespace

Help Version 23.0.2024.2.29
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2024 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Forms.Auto Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.